﻿
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;
using System.ComponentModel.DataAnnotations;

namespace M2B.GestionEntretiens.POCOS
{
    /// <summary>
    /// Cette Classe décrit un entretien
    /// </summary>
    /// <remarks>
    /// Informations de la classe : 
    /// <list type="bullet">
    /// <item name="authors">Auteur : M2B : Bilel / Maher SAMMARI</item>
    /// <item name="creation date">Date de création : 01/04/2014</item>
    /// <item name="last modification">Date de dernière modification : 01/04/2014</item>
    /// </list>
    /// </remarks>
    [DataContract(IsReference = true)]
    public class Entretien
    {

        #region Properties
        /// <summary>
        /// Identificateur
        /// </summary>
        [DataMember]
        public int EntretienId { get; set; }
        /// <summary>
        /// Titre
        /// </summary>
        [DataMember]
        public string Titre { get; set; }
        /// <summary>
        /// Date de l'entretien
        /// </summary>
        [DataMember]
        public DateTime? DateEntretien { get; set; }
        /// <summary>
        /// Commentaire
        /// </summary>
        [DataMember]
        public string Commentaire { get; set; }
        /// <summary>
        /// Entretien valid : true/false
        /// </summary>
        [DataMember]
        public bool IsValid { get; set; }
        /// <summary>
        /// Candidat 
        /// </summary>
        [DataMember]
        public virtual Candidat Candidat { get; set; }
        /// <summary>
        /// Test de 
        /// </summary>
        [DataMember]
        public virtual Test Test {get;set;}
        /// <summary>
        /// Date création
        /// </summary>
        [DataMember]
        public DateTime? DateCreation { get; set; }
        /// <summary>
        /// Date modification
        /// </summary>
        [DataMember]
        public DateTime? DateModification { get; set; }
        /// <summary>
        /// Evaluation de l'entretien
        /// </summary>
        [DataMember]
        public int Evaluation { get; set; }
        /// <summary>
        /// Autre information
        /// </summary>
        [DataMember]
        public string Autre { get; set; }
        /// <summary>
        /// Langue
        /// </summary>
        [DataMember]
        public string Langue { get; set; }
        /// <summary>
        /// Statut (Ouvert, Fermé, En suspension,..)
        /// </summary>
        [DataMember]
        public int Statut { get; set; }

        #endregion

        #region Constructeurs
        /// <summary>
        /// Constructeur par défault
        /// </summary>
        public Entretien()
        {
           
        }
        #endregion
    }

}
